import { Cropper } from "../../../utils/function/we_cropper/cropper";
import { event } from "../../../utils/interface";
import msg from "../../../utils/model/msg";

let eventChannel: WechatMiniprogram.EventChannel; // 获取事件触发器
// pages/sign_up/cropper/index.ts
Page({

  /**
   * 页面的初始数据
   */
  data: {
    cropperOptions: {},
  },
  cropper: {}, // 剪裁容器
  /**
   * @function 获取剪裁后的图像
   */
  getCropperImage: function() {
    const cropper: any = this.cropper;
    cropper.getCropperImage((path: string, err: any) => {
      if(err || path == null) {
        msg.Fail('剪裁错误');
        return;
      }
      wx.navigateBack();
      eventChannel.emit('success', {path: path});
    })
  },
  /**
   * @function 捕捉动作
   * @param e 
   */
  touchStart: function(e: event) {
    const cropper: any = this.cropper;
    cropper.touchStart(e);
  },
  touchMove: function(e: event) {
    const cropper: any = this.cropper;
    cropper.touchMove(e);
  },
  touchEnd: function(e: event) {
    const cropper: any = this.cropper;
    cropper.touchEnd(e);
  },

  /**
   * 生命周期函数--监听页面加载
   */
  onLoad(options) {
    eventChannel = this.getOpenerEventChannel(); // 获取通信通道
    if(options.file) {
      const cropper = new Cropper(options.file);
      this.cropper = cropper.getCropper().context; // 获取实例容器
      this.setData({
        cropperOptions: cropper.getCropper().options, // 获取设置
      })
    }
  },

  /**
   * 生命周期函数--监听页面初次渲染完成
   */
  onReady() {

  },

  /**
   * 生命周期函数--监听页面显示
   */
  onShow() {

  },

  /**
   * 生命周期函数--监听页面隐藏
   */
  onHide() {

  },

  /**
   * 生命周期函数--监听页面卸载
   */
  onUnload() {

  },

  /**
   * 页面相关事件处理函数--监听用户下拉动作
   */
  onPullDownRefresh() {

  },

  /**
   * 页面上拉触底事件的处理函数
   */
  onReachBottom() {

  },

  /**
   * 用户点击右上角分享
   */
  onShareAppMessage() {

  }
})